<html>
<head>
<title>The X Toolkit API</title>
<link href="doc.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load('visualization', '1', {packages: ['orgchart']});
</script>
<script type="text/javascript">

  // don't show internals by default
  var displayInternals = false;

  var toggleInternals = function() {
    
    // toggle the display variable
    displayInternals = !displayInternals;

    if (!document.styleSheets)
      return;
    var thecss = new Array();
    
    if (document.styleSheets[0].cssRules) thecss = document.styleSheets[0].cssRules;
    else thecss = document.styleSheets[0].rules;
    
    for (i = 0; i < thecss.length; i++) {
      
      if (thecss[i].selectorText.toLowerCase() == '.private') {
        
        if (displayInternals) {
          thecss[i].style.cssText += "display: block;";
          document.getElementById('togglBtn').innerHTML = 'Hide Internals'
        } else {
          thecss[i].style.cssText += "display: none;";
          document.getElementById('togglBtn').innerHTML = 'Show Internals'
        }
      
      } else if (thecss[i].selectorText.toLowerCase() == '.private_quicklink') {
        
        if (displayInternals) {
          thecss[i].style.cssText += "display: inline;";
        } else {
          thecss[i].style.cssText += "display: none;";
        }
        
      }
       
    }
    
  }
  
  function drawVisualization() {
    // Create and populate the data table.
    var data = google.visualization.arrayToDataTable([
      [{v:"goog.events.EventTarget",f:"<font color=green>goog.events.EventTarget</font>"},null,null],
["X.base","goog.events.EventTarget",null],
["X.transform","X.base",null],

    ]);
  
    // Create and draw the visualization.
    new google.visualization.OrgChart(document.getElementById('diagram')).
        draw(data, {allowHtml: true, size:'small', color:'#f3f3f3'});
  }
  

  google.setOnLoadCallback(drawVisualization);  
  
</script>
</head>

<body>
	<h1>The X Toolkit API</h1>
	<div class="menu"><b>X</b><br><span class="menuitem"><a href="counter.html">X.counter</a></span><br><br><b>CORE</b><br><span class="menuitem"><a href="base.html">X.base</a></span><br><span class="menuitem"><a href="colortable.html">X.colortable</a></span><br><span class="menuitem"><a href="event.html">X.event</a></span><br><span class="menuitem"><a href="file.html">X.file</a></span><br><span class="menuitem"><a href="HoverEndEvent.html">X.HoverEndEvent</a></span><br><span class="menuitem"><a href="HoverEvent.html">X.HoverEvent</a></span><br><span class="menuitem"><a href="ModifiedEvent.html">X.ModifiedEvent</a></span><br><span class="menuitem"><a href="PanEvent.html">X.PanEvent</a></span><br><span class="menuitem"><a href="ProgressEvent.html">X.ProgressEvent</a></span><br><span class="menuitem"><a href="RenderEvent.html">X.RenderEvent</a></span><br><span class="menuitem"><a href="ResetViewEvent.html">X.ResetViewEvent</a></span><br><span class="menuitem"><a href="RotateEvent.html">X.RotateEvent</a></span><br><span class="menuitem"><a href="scalars.html">X.scalars</a></span><br><span class="menuitem"><a href="ScrollEvent.html">X.ScrollEvent</a></span><br><span class="menuitem"><a href="texture.html">X.texture</a></span><br><span class="menuitem"><a href="transform.html">X.transform</a></span><br><span class="menuitem"><a href="triplets.html">X.triplets</a></span><br><span class="menuitem"><a href="WindowLevelEvent.html">X.WindowLevelEvent</a></span><br><span class="menuitem"><a href="ZoomEvent.html">X.ZoomEvent</a></span><br><br><b>INJECTS</b><br><span class="menuitem"><a href="constructable.html">X.constructable</a></span><br><span class="menuitem"><a href="displayable.html">X.displayable</a></span><br><span class="menuitem"><a href="loadable.html">X.loadable</a></span><br><span class="menuitem"><a href="thresholdable.html">X.thresholdable</a></span><br><br><b>IO</b><br><span class="menuitem"><a href="interactor.html">X.interactor</a></span><br><span class="menuitem"><a href="interactor2D.html">X.interactor2D</a></span><br><span class="menuitem"><a href="interactor3D.html">X.interactor3D</a></span><br><span class="menuitem"><a href="loader.html">X.loader</a></span><br><span class="menuitem"><a href="parser.html">X.parser</a></span><br><span class="menuitem"><a href="parserCRV.html">X.parserCRV</a></span><br><span class="menuitem"><a href="parserDCM.html">X.parserDCM</a></span><br><span class="menuitem"><a href="parserFSM.html">X.parserFSM</a></span><br><span class="menuitem"><a href="parserIMAGE.html">X.parserIMAGE</a></span><br><span class="menuitem"><a href="parserLBL.html">X.parserLBL</a></span><br><span class="menuitem"><a href="parserLUT.html">X.parserLUT</a></span><br><span class="menuitem"><a href="parserMGZ.html">X.parserMGZ</a></span><br><span class="menuitem"><a href="parserNII.html">X.parserNII</a></span><br><span class="menuitem"><a href="parserNRRD.html">X.parserNRRD</a></span><br><span class="menuitem"><a href="parserOBJ.html">X.parserOBJ</a></span><br><span class="menuitem"><a href="parserSTL.html">X.parserSTL</a></span><br><span class="menuitem"><a href="parserTRK.html">X.parserTRK</a></span><br><span class="menuitem"><a href="parserVTK.html">X.parserVTK</a></span><br><br><b>MATH</b><br><span class="menuitem"><a href="array.html">X.array</a></span><br><span class="menuitem"><a href="matrix.html">X.matrix</a></span><br><span class="menuitem"><a href="vector.html">X.vector</a></span><br><br><b>OBJECTS</b><br><span class="menuitem"><a href="cube.html">X.cube</a></span><br><span class="menuitem"><a href="cylinder.html">X.cylinder</a></span><br><span class="menuitem"><a href="fibers.html">X.fibers</a></span><br><span class="menuitem"><a href="labelmap.html">X.labelmap</a></span><br><span class="menuitem"><a href="mesh.html">X.mesh</a></span><br><span class="menuitem"><a href="object.html">X.object</a></span><br><span class="menuitem"><a href="slice.html">X.slice</a></span><br><span class="menuitem"><a href="sphere.html">X.sphere</a></span><br><span class="menuitem"><a href="volume.html">X.volume</a></span><br><br><b>UI</b><br><span class="menuitem"><a href="caption.html">X.caption</a></span><br><span class="menuitem"><a href="progressbar.html">X.progressbar</a></span><br><br><b>VISUALIZATION</b><br><span class="menuitem"><a href="buffer.html">X.buffer</a></span><br><span class="menuitem"><a href="camera.html">X.camera</a></span><br><span class="menuitem"><a href="camera2D.html">X.camera2D</a></span><br><span class="menuitem"><a href="camera3D.html">X.camera3D</a></span><br><span class="menuitem"><a href="indexer.html">X.indexer</a></span><br><span class="menuitem"><a href="renderer.html">X.renderer</a></span><br><span class="menuitem"><a href="renderer2D.html">X.renderer2D</a></span><br><span class="menuitem"><a href="renderer3D.html">X.renderer3D</a></span><br><span class="menuitem"><a href="shaders.html">X.shaders</a></span><br><br></div>
	<div id="diagram"></div>
	<div class="content">
		<h2>X.transform</h2>
		<div class="public" id="transform">
<pre>/**
* Create a transform.
*
* @constructor
* @extends <a href="base.html">X.base</a>
*/</pre>
<span class="code">var t = new <span class="identifier">X.transform()</span>;</span><br></div><div class="private" id="_classname">
<pre>/**
* The className of this class.
*
* @type {string}
* @protected
*/</pre>
<span class="code">t.<span class="identifier">_classname</span> = $_CLASSNAME;</span><br></div><div class="private" id="_dirty">
<pre>/**
* The 'dirty' flag of this object.
*
* @type {boolean}
* @protected
*/</pre>
<span class="code">t.<span class="identifier">_dirty</span> = $_DIRTY;</span><br></div><div class="private" id="_id">
<pre>/**
* The uniqueId of this instance. Each class instance in XTK has a uniqueId.
*
* @type {number}
* @protected
*/</pre>
<span class="code">t.<span class="identifier">_id</span> = $_ID;</span><br></div><div class="private" id="_matrix">
<pre>/**
* The transformation matrix.
*
* @type {!Float32Array}
* @protected
*/</pre>
<span class="code">t.<span class="identifier">_matrix</span> = $_MATRIX;</span><br></div><div class="public" id="classname_get">
<pre>/**
* Get the className of this object.
*
* @return {string} The className of this object.
* @public
*/</pre>
<span class="code">var _classname = t.<span class="identifier">classname</span>;</span><br></div><div class="public" id="id_get">
<pre>/**
* Get the id of this instance.
*
* @return {string} The className of this object.
* @public
*/</pre>
<span class="code">var _id = t.<span class="identifier">id</span>;</span><br></div><div class="public" id="matrix_get">
<pre>/**
* Get the transformation matrix.
*
* @return {!Float32Array} The transformation matrix.
*/</pre>
<span class="code">var _matrix = t.<span class="identifier">matrix</span>;</span><br></div><div class="public" id="matrix_set">
<pre>/**
* Set the transformation matrix.
*
* @param {!Float32Array} matrix The transformation matrix.
*/</pre>
<span class="code">t.<span class="identifier">matrix</span> = $MATRIX;</span><br></div><div class="public" id="flipX">
<pre>/**
* Flip in X direction.
*/</pre>
<span class="code">t.<span class="identifier">flipX</span>();</span><br></div><div class="public" id="flipY">
<pre>/**
* Flip in Y direction.
*/</pre>
<span class="code">t.<span class="identifier">flipY</span>();</span><br></div><div class="public" id="flipZ">
<pre>/**
* Flip in Z direction.
*/</pre>
<span class="code">t.<span class="identifier">flipZ</span>();</span><br></div><div class="private" id="flip_">
<pre>/**
* Flip the matrix value at the given index.
*
* @param {number} row The row index.
* @param {number} col The column index.
* @private
*/</pre>
<span class="code">t.<span class="identifier">flip_</span>($ROW, $COL);</span><br></div><div class="public" id="modified">
<pre>/**
* Mark the transform as modified.
*/</pre>
<span class="code">t.<span class="identifier">modified</span>();</span><br></div><div class="public" id="rotateX">
<pre>/**
* Rotate around the X-axis.
*
* @param {number} angle The angle to rotate in degrees.
* @throws {Error} An exception, if the given angle is invalid.
*/</pre>
<span class="code">t.<span class="identifier">rotateX</span>($ANGLE);</span><br></div><div class="public" id="rotateY">
<pre>/**
* Rotate around the Y-axis.
*
* @param {number} angle The angle to rotate in degrees.
* @throws {Error} An exception, if the given angle is invalid.
*/</pre>
<span class="code">t.<span class="identifier">rotateY</span>($ANGLE);</span><br></div><div class="public" id="rotateZ">
<pre>/**
* Rotate around the Z-axis.
*
* @param {number} angle The angle to rotate in degrees.
* @throws {Error} An exception, if the given angle is invalid.
*/</pre>
<span class="code">t.<span class="identifier">rotateZ</span>($ANGLE);</span><br></div><div class="public" id="translateX">
<pre>/**
* Translate on the X-axis.
*
* @param {number} distance The distance to move.
* @throws {Error} An exception, if the given distance is invalid.
*/</pre>
<span class="code">t.<span class="identifier">translateX</span>($DISTANCE);</span><br></div><div class="public" id="translateY">
<pre>/**
* Translate on the Y-axis.
*
* @param {number} distance The distance to move.
* @throws {Error} An exception, if the given distance is invalid.
*/</pre>
<span class="code">t.<span class="identifier">translateY</span>($DISTANCE);</span><br></div><div class="public" id="translateZ">
<pre>/**
* Translate on the Z-axis.
*
* @param {number} distance The distance to move.
* @throws {Error} An exception, if the given distance is invalid.
*/</pre>
<span class="code">t.<span class="identifier">translateZ</span>($DISTANCE);</span><br></div>
	</div>

  <div id="toolbox">
  <center><button id="togglBtn" type="button" onclick="javascript:toggleInternals();">Show Internals</button></center><br><br>
  <b>CONSTRUCTORS</b><br>
  <span class="public_quicklink"><a href="#transform">X.transform</a><br></span><br>
  <b>PROPERTIES</b><br>
  <span class="private_quicklink"><a href="#_classname">_classname</a><br></span><span class="private_quicklink"><a href="#_dirty">_dirty</a><br></span><span class="private_quicklink"><a href="#_id">_id</a><br></span><span class="private_quicklink"><a href="#_matrix">_matrix</a><br></span><br>
  <b>GETTERS/SETTERS</b><br>
  <span class="public_quicklink"><a href="#classname_get">classname</a><br></span><span class="public_quicklink"><a href="#id_get">id</a><br></span><span class="public_quicklink"><a href="#matrix_get">matrix</a><br></span><br>
  <b>FUNCTIONS</b><br>
  <span class="public_quicklink"><a href="#flipX">flipX</a><br></span><span class="public_quicklink"><a href="#flipY">flipY</a><br></span><span class="public_quicklink"><a href="#flipZ">flipZ</a><br></span><span class="private_quicklink"><a href="#flip_">flip_</a><br></span><span class="public_quicklink"><a href="#modified">modified</a><br></span><span class="public_quicklink"><a href="#rotateX">rotateX</a><br></span><span class="public_quicklink"><a href="#rotateY">rotateY</a><br></span><span class="public_quicklink"><a href="#rotateZ">rotateZ</a><br></span><span class="public_quicklink"><a href="#translateX">translateX</a><br></span><span class="public_quicklink"><a href="#translateY">translateY</a><br></span><span class="public_quicklink"><a href="#translateZ">translateZ</a><br></span><br>
  <b>STATIC</b><br>
  <br><br><br>
  <center><small><a href="https://github.com/xtk/X/blob/master/core/transform.js" target="_blank">SOURCECODE</a><br></small></center>
  </div>	
	
	<br><br><br>
</body>

</html>